package cc.zyjx.school.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cc.zyjx.common.core.domain.entity.SysUser;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cc.zyjx.common.annotation.Excel;
import cc.zyjx.common.core.domain.BaseEntity;

/**
 * 学员档案对象 tr_archives
 * 
 * @author zsk
 * @date 2023-05-02
 */
@Data
public class TrArchives extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 学员档案录入 */
    private Long id;

    /** 学员姓名 */
    @Excel(name = "学员姓名")
    private String learnerName;

    /** 电话号 */
    @Excel(name = "电话号")
    private String iphone;

    /** 国籍/民族 */
    @Excel(name = "国籍/民族")
    private String nationality;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 证件类型 */
    @Excel(name = "证件类型")
    private Integer documentType;

    /** 证件号码 */
    @Excel(name = "证件号码")
    private String documentNumber;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateOfBirth;

    /** 身份证地址 */
    @Excel(name = "身份证地址")
    private String documentAddress;

    /** 居住地址 */
    @Excel(name = "居住地址")
    private String residentialAddress;

    /** 报名时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报名时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registrationTime;

    /** 档案归属 */
    @Excel(name = "档案归属")
    private String fileAttribution;

    /** 介绍人id */
    @Excel(name = "介绍人id")
    private Long userId;

    /** 报名点 */
    @Excel(name = "报名点")
    private String registrationLocation;

    /** 业务类型 */
    @Excel(name = "业务类型")
    private String serviceType;

    /** 报名车型 */
    @Excel(name = "报名车型")
    private String registeredModels;

    /** 班制id */
    @Excel(name = "班制id")
    private Long classTypeId;

    /** 招生来源 */
    @Excel(name = "招生来源")
    private String sourceOfEnrollment;

    /** 支付宝 */
    @Excel(name = "支付宝")
    private Long zfb;

    /** 微信 */
    @Excel(name = "微信")
    private Long wx;

    /** 现金 */
    @Excel(name = "现金")
    private Long cash;

    /** 刷卡 */
    @Excel(name = "刷卡")
    private Long creditCard;

    /** 转账 */
    @Excel(name = "转账")
    private Long transfer;

    /** 优惠 */
    @Excel(name = "优惠")
    private Long preferential;

    /** 实收 */
    @Excel(name = "实收")
    private Long paid;

    /** 缴费备注 */
    @Excel(name = "缴费备注")
    private String paymentRemarks;

    /** 考试状态 1科目/2科目二/3科3/4科目4 */
    @Excel(name = "考试状态 1科目/2科目二/3科3/4科目4")
    private Integer examStatus;
    /** 考试状态 1科目/2科目二/3科3/4科目4 */
    //考试状态名称
    private String examStatusName;
    //班制信息
    private TrClassTpye classTpye;
    //介绍人
    private SysUser sysUser;






    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setLearnerName(String learnerName) 
    {
        this.learnerName = learnerName;
    }

    public String getLearnerName() 
    {
        return learnerName;
    }
    public void setIphone(String iphone) 
    {
        this.iphone = iphone;
    }

    public String getIphone() 
    {
        return iphone;
    }
    public void setNationality(String nationality) 
    {
        this.nationality = nationality;
    }

    public String getNationality() 
    {
        return nationality;
    }
    public void setGender(String gender) 
    {
        this.gender = gender;
    }

    public String getGender() 
    {
        return gender;
    }
    public void setDocumentType(Integer documentType) 
    {
        this.documentType = documentType;
    }

    public Integer getDocumentType() 
    {
        return documentType;
    }
    public void setDocumentNumber(String documentNumber) 
    {
        this.documentNumber = documentNumber;
    }

    public String getDocumentNumber() 
    {
        return documentNumber;
    }
    public void setDateOfBirth(Date dateOfBirth) 
    {
        this.dateOfBirth = dateOfBirth;
    }

    public Date getDateOfBirth() 
    {
        return dateOfBirth;
    }
    public void setDocumentAddress(String documentAddress) 
    {
        this.documentAddress = documentAddress;
    }

    public String getDocumentAddress() 
    {
        return documentAddress;
    }
    public void setResidentialAddress(String residentialAddress) 
    {
        this.residentialAddress = residentialAddress;
    }

    public String getResidentialAddress() 
    {
        return residentialAddress;
    }
    public void setRegistrationTime(Date registrationTime) 
    {
        this.registrationTime = registrationTime;
    }

    public Date getRegistrationTime() 
    {
        return registrationTime;
    }
    public void setFileAttribution(String fileAttribution) 
    {
        this.fileAttribution = fileAttribution;
    }

    public String getFileAttribution() 
    {
        return fileAttribution;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setRegistrationLocation(String registrationLocation) 
    {
        this.registrationLocation = registrationLocation;
    }

    public String getRegistrationLocation() 
    {
        return registrationLocation;
    }
    public void setServiceType(String serviceType) 
    {
        this.serviceType = serviceType;
    }

    public String getServiceType() 
    {
        return serviceType;
    }
    public void setRegisteredModels(String registeredModels) 
    {
        this.registeredModels = registeredModels;
    }

    public String getRegisteredModels() 
    {
        return registeredModels;
    }
    public void setClassTypeId(Long classTypeId) 
    {
        this.classTypeId = classTypeId;
    }

    public Long getClassTypeId() 
    {
        return classTypeId;
    }
    public void setSourceOfEnrollment(String sourceOfEnrollment) 
    {
        this.sourceOfEnrollment = sourceOfEnrollment;
    }

    public String getSourceOfEnrollment() 
    {
        return sourceOfEnrollment;
    }
    public void setZfb(Long zfb) 
    {
        this.zfb = zfb;
    }

    public Long getZfb() 
    {
        return zfb;
    }
    public void setWx(Long wx) 
    {
        this.wx = wx;
    }

    public Long getWx() 
    {
        return wx;
    }
    public void setCash(Long cash) 
    {
        this.cash = cash;
    }

    public Long getCash() 
    {
        return cash;
    }
    public void setCreditCard(Long creditCard) 
    {
        this.creditCard = creditCard;
    }

    public Long getCreditCard() 
    {
        return creditCard;
    }
    public void setTransfer(Long transfer) 
    {
        this.transfer = transfer;
    }

    public Long getTransfer() 
    {
        return transfer;
    }
    public void setPreferential(Long preferential) 
    {
        this.preferential = preferential;
    }

    public Long getPreferential() 
    {
        return preferential;
    }
    public void setPaid(Long paid) 
    {
        this.paid = paid;
    }

    public Long getPaid() 
    {
        return paid;
    }
    public void setPaymentRemarks(String paymentRemarks) 
    {
        this.paymentRemarks = paymentRemarks;
    }

    public String getPaymentRemarks() 
    {
        return paymentRemarks;
    }
    public void setExamStatus(Integer examStatus) 
    {
        this.examStatus = examStatus;
    }

    public Integer getExamStatus() 
    {
        return examStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("learnerName", getLearnerName())
            .append("iphone", getIphone())
            .append("nationality", getNationality())
            .append("gender", getGender())
            .append("documentType", getDocumentType())
            .append("documentNumber", getDocumentNumber())
            .append("dateOfBirth", getDateOfBirth())
            .append("documentAddress", getDocumentAddress())
            .append("residentialAddress", getResidentialAddress())
            .append("registrationTime", getRegistrationTime())
            .append("fileAttribution", getFileAttribution())
            .append("userId", getUserId())
            .append("registrationLocation", getRegistrationLocation())
            .append("serviceType", getServiceType())
            .append("registeredModels", getRegisteredModels())
            .append("classTypeId", getClassTypeId())
            .append("sourceOfEnrollment", getSourceOfEnrollment())
            .append("zfb", getZfb())
            .append("wx", getWx())
            .append("cash", getCash())
            .append("creditCard", getCreditCard())
            .append("transfer", getTransfer())
            .append("preferential", getPreferential())
            .append("paid", getPaid())
            .append("paymentRemarks", getPaymentRemarks())
            .append("examStatus", getExamStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
